Batch processing information processing including simultaneously moving a plurality of objects and independently moving an object from the rest of the plurality of objects

ABSTRACT

When a plurality of objects are subjected to a batch processing by an object selection unit and a batch processing execution unit, if an input is made to an object included in the plurality of objects, an information processing apparatus controls the processing execution unit so as to execute a processing on the object based on the input, thereby executing a processing of moving all of the selected plurality of objects simultaneously with a processing of moving an arbitrary object separately from other objects among the selected plurality of objects.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatus anda control method thereof.

2. Description of the Related Art

The conventional object drawing tool is configured to move an objectdisplayed on a display screen of a computer by using a pointing devicesuch as a mouse. In such an object drawing tool, a cursor is displayedon a screen of the computer and a user can move the cursor by using thepointing device.

The object drawing tool can select an object at a position where thecursor is displayed by clicking a button provided on the pointingdevice. Further, the object drawing tool can select a plurality ofobjects by repeatedly clicking the button while a predetermined key of akeyboard is pressed.

Japanese Patent Laid-open Publication No. 2006-244353 discusses atechnique in that a user can move an object at a position where a cursoris displayed by moving the cursor while a user presses and holds abutton. According to Japanese Patent Laid-open Publication No.2006-244353, when the user selects a plurality of objects, the user canmove the plurality of objects at once by pointing any object among theplurality of selected objects with the cursor and moving the cursorwhile the user presses and holds the button.

In other words, by an instruction of a user to move the cursor along alimited path on the display screen, an image is selected according tothe cursor path and the selected image is moved to an end point of thecursor path.

However, in the above described conventional technique, when a userselects a plurality of objects, it is not possible for the user to moveall the plurality of selected objects and to move an arbitrary objectamong the plurality of selected objects independently at the same time.

SUMMARY OF THE INVENTION

The present invention is directed to an information processing apparatuscapable of simultaneously performing processing for moving a pluralityof selected objects together and processing for moving an arbitraryobject separately from other objects among the plurality of selectedobjects, and a control method thereof.

According to an aspect of the present invention, an informationprocessing apparatus includes a processing execution unit configured toexecute processing on objects based on an input made with respect to theobject displayed on a display device, an object selection unitconfigured to select more than one of the objects displayed on thedisplay device, a batch processing execution unit configured to executebatch processing on the plurality of objects selected by the objectselection unit, and a control unit configured to, if an input is madewith respect to an object included in the plurality of objects when theplurality of objects are subjected to the batch processing by the batchprocessing execution unit, control the processing execution unit toexecute the processing with respect to the objects to which the inputwas made.

Further features and aspects of the present invention will becomeapparent from the following description of exemplary embodiments withreference to the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate exemplary embodiments, features,and aspects of the invention and, together with the description, serveto explain the principles of the invention.

FIG. 1 is a block diagram illustrating an example of a hardwareconfiguration of an information processing apparatus (e.g., computer).

FIG. 2 is a block diagram illustrating an example of a functionalconfiguration of the information processing apparatus.

FIG. 3 is a flow chart illustrating an example of an object selectionprocessing.

FIGS. 4A through 4E illustrate examples of objects displayed on displayscreens, respectively.

FIG. 5 is a flow chart illustrating an example of an object displacementprocessing.

FIG. 6 is a flow chart illustrating another example of the objectdisplacement processing.

FIG. 7 is a flow chart illustrating an example of an object selectionprocessing.

DESCRIPTION OF THE EMBODIMENTS

Various exemplary embodiments, features, and aspects of the inventionwill be described in detail below with reference to the drawings.

FIG. 1 is a block diagram illustrating an example of a hardwareconfiguration of an information processing apparatus (e.g., computer).

In FIG. 1, a central processing unit (CPU) 11 executes various controlsof the information processing apparatus. A read-only memory (ROM) 12stores a boot program, which is executed when starting up theinformation processing apparatus, and various data. A random accessmemory (RAM) 13 stores a control program executed by the CPU 11 as wellas provides a work area when the CPU 11 executes the various controls. Akeyboard 14 and a mouse 15 provide a user with various input operationenvironments.

An external storage device 16 includes a hard disk, an optical disk, amagnetic disk, an optical magnetic disk, a magnetic tape, and so on.However, if the ROM 12 stores all of the control programs and thevarious data, the external storage device 16 is not necessarilyrequired.

A display unit 17 includes a display in order to display a processingresult or the like for the user. A network interface (NIC) 18 enablescommunications with the other devices on network through a LAN cable orthe like. Further, a bus 19 connects the above described elements toeach other.

By executing processing by the CPU 11 based on the program stored in theROM 12 or the external storage device 16, functions of the informationprocessing apparatus and/or individual processing of a flow chart, whichwill be described later, can be realized.

FIG. 2 is a block diagram illustrating an example of a functionalconfiguration of the information processing apparatus.

An input detection unit 101 detects an input made on a display screen.An input discrimination unit 102 discriminates to which objects on thedisplay screen the input detected by the input detection unit 101 isdirected, or which positional coordinates on the display screen theinput detected by the input detection unit 101 indicates.

An object selection unit 103 selects one or a plurality of objects onthe display screen based on the input detected by the input detectionunit 101 and discriminated by the input discrimination unit 102. Morespecifically, the object selection unit 103 designates an arbitrary areaon the display screen and selects an object within the area.

Further, the object selection unit 103 highlights the object inselection. More specifically, the object selection unit 103 changes acolor and clarity of the object in selection and a line of the object inselection into a bold line.

An object generation unit 104 generates a batch processing input objectin order to make a plurality of objects to be a batch processing targetwhen the object selection unit 103 selects the plurality of objects.

The object generation unit 104 associates the plurality of objectsselected by the object selection unit 103 with the generated batchprocessing input object, and holds the association information of theassociation. The shape of the batch processing input object encirclesthe selected objects. More specifically, the batch processing inputobject is configured to include the selected objects therein.

Generation of the batch processing input object as described aboveenables the user to recognize a relationship between the batchprocessing input object and the selected objects with ease.

Further, it is not necessarily required to generate the batch processinginput object. If the batch processing input object is not created, forexample, all of the objects displayed on the display screen may bedesignated as a target of the batch processing, or an input into an areawhere no objects are displayed on the display screen may be used as aninput area for the batch processing.

A first object processing unit 105 processes the objects selected by theobject selection unit 103 based on the input detected by the inputdetection unit 101 and discriminated by the input discrimination unit102.

A second object processing unit 106 executes the batch processing withrespect to the plurality of objects (a group of objects) that are inassociation with the batch processing input object based on the inputfor the batch processing input object detected by the input detectionunit 101 and discriminated by the input discrimination unit 102.

A process determination unit 107 controls the first object processingunit 105 to execute the processing for the objects based on the inputwhen the input is made with respect to an arbitrary object included inthe plurality of objects while the processing (batch processing) for theplurality of objects is executed in the second object processing unit106.

A display control unit 108 displays an object or the like on the displayscreen (i.e., display unit 17).

FIG. 3 is a flow chart illustrating an example of an object selectionprocessing.

The object selection processing refers to processing performed forplacing the object to be processed into a selected condition. Theselection is made in order to perform some processing, for example, toany of the selected first objects 401 through 405 displayed on thedisplay screen of FIG. 4. In the present exemplary embodiment, theprocessing is a displacement processing.

FIG. 4 illustrates an example of objects displayed on the displayscreen.

In step S201, the input detection unit 101 and the input discriminationunit 102 detect an input made by the user on the display screen.

In step S202, for example, the object selection unit 103 determineswhether or not a position designated by the input of the user is on thefirst objects displayed on the display screen based on the inputdetected by the input detection unit 101 and discriminated by the inputdiscrimination unit 102.

The processing proceeds to step S203 if the object selection unit 103determines that the position designated by the input of the user is onthe first objects displayed on the display screen (YES in step S202). Onthe other hand, the processing proceeds to step S205 if the objectselection unit 103 determines that the position designated by the inputof the user is not on the first objects displayed on the display screen(NO in step S202).

In step S203, for example, the object selection unit 103 determineswhether or not the first objects 401 through 405 designated by the userare selected. The processing proceeds to step S204 if the objectselection unit 103 determines that the first objects 401 through 405designated by the user are selected (YES in step S203). On the otherhand, the step proceeds to step S206 if the object selection unit 103determines that the first objects 401 through 405 designated by the userare not selected (NO in step S203).

In step S204, the first object processing unit 105 displaces the firstobjects 401 through 405 to a position the user designates.

In step S205, the object selection unit 103 cancels the selection stateof the first objects 401 through 405, which are in a selected conditionon the display screen.

On the other hand, in step S206, the object selection unit 103 placesthe first objects 401 through 405 into the selected condition on thedisplay screen.

In step S207, the object selection unit 103 determines whether or notthere are a plurality of selected objects on the display screen. Theprocessing proceeds to step S208 if the object selection unit 103determines that there are the plurality of objects selected on thedisplay screen (YES in step S207). The processing of FIG. 3 is ended ifthe object selection unit 103 determines that not a plurality of objectsare selected on the display screen (NO in step S207).

In step S208, the object generation unit 104 newly generates a secondobject (batch processing input object) 400 displayed on the displayscreen (i.e., batch processing input object generation).

FIG. 5 is a flow chart illustrating an example of the objectdisplacement processing. The object displacement processing illustratedin FIG. 5 is started after the plurality of first objects 401 through405 and the second object 400 in a selected condition are displayed onthe display screen according to the above described object selectionprocessing.

In step S301, the input detection unit 101 and the input discriminationunit 102 detect an input of the user on the display screen.

In step S302, for example, the object selection unit 103 determineswhether or not a position designated by the input of the user is on thefirst objects displayed on the display screen based on the inputdetected by the input detection unit 101 and discriminated by the inputdiscrimination unit 102.

The processing proceeds to step S303 if the object selection unit 103determines that the position designated by the input of the user is onthe first objects displayed on the display screen (YES in step S302). Onthe other hand, the processing proceeds to step S306 if the objectselection unit 103 determines that the position designated by the inputof the user is not on the first objects displayed on the display screen(NO in step S302).

In step S303, for example, the object selection unit 103 determineswhether or not the first objects 401 through 405 designated by the userare selected.

The processing proceeds to step S304 if the object selection unit 103determines that the first objects 401 through 405 designated by the userare selected (YES in step S303). On the other hand, the processingproceeds to step S305 if the object selection unit 103 determines thatthe first objects 401 through 405 designated by the user are notselected (NO in step S303).

In step S304, the process determination unit 107 controls the firstobject processing unit 105 to execute a processing for any one of thefirst objects (for example, the first object 403) designated by the useramong the first objects 401 through 405.

The above-described processing is, for example, the one for displacingthe selected object to a position designated by the user (displacementprocessing). In the present exemplary embodiment, the displacementprocessing is exemplified. However, the processing may be any one of arotation processing, an enlargement processing, a reduction processing,a modification processing, or the like.

In step S305, the object selection unit 103 places the first objects 401through 405 in the selected condition.

In step S306, for example, the object selection unit 103 determineswhether or not the position designated by the input of the user is onthe second object displayed on the display screen based on the inputdetected by the input detection unit 101 and discriminated by the inputdiscrimination unit 102.

The processing proceeds to step S307 if the object selection unit 103determines that the position designated by the input of the user is onthe second object displayed on the display screen (YES in step S306). Onthe other hand, the processing proceeds to step S308 if the objectselection unit 103 determines that the position designated by the inputof the user is not on the second object displayed on the display screen(NO in step S306).

In step S307, the second object processing unit 105 determines whetheror not the object (a group of objects) in selection is now subjected tothe displacement processing.

The processing of FIG. 5 is ended if the second object processing unit105 determines that the object (a group of objects) in selection is nowsubjected to the displacement processing (YES in step S307). On theother hand, the processing proceeds to step S309 if the second objectprocessing unit 105 determines that the object (group of objects) inselection is not subjected to the displacement processing now (NO instep S307).

In step S308, the object selection unit 103 cancels selection of theobject (a group of objects) in selection on the display screen.

In step S309, the second object processing unit 105 performs thedisplacement processing (processing to displace the object to theposition designated by the user) on the object (a group of objects) inselection (i.e., execution of the batch processing). In the presentexemplary embodiment, the displacement processing is exemplified,however, the processing may be any one of the rotation processing, theenlargement processing, the reduction processing, the modificationprocessing, or the like.

An operation of objects will be described below with reference to FIG.4. On the display screen of FIG. 4A, the plurality of first objects 401through 405 are selected and displayed. The first objects 401 through405 are formed into square shapes. The second object is displayed aroundthe selected first objects 401 through 405. The second object is formedinto a circle shape and an inside of the second object is hatched.

The user designates two points on the second object of FIG. 4B. The usermoves one of the designated points upward, whereas the other one of thedesignated points downward. As a result thereof, as illustrated in FIG.4C, positions of the first objects 401 through 405 (first objects 401through 405) are displaced and expanded, respectively, in an up-and-downdirection.

Now, two points are input by the user. The distance between an inputpoint and the position of the object is reflected on the processing tobe performed. The shorter the distance is, the more the inputinformation is reflected on the processing to be performed, whereas thelonger the distance is, the less the input information is reflected onthe processing to be performed.

More specifically, the object 401 is positioned nearer to the input ofthe upper side. The input of the upper side has a vector in an upperdirection on the display screen. Therefore, the object 401 movesupwardly on the display screen. Similarly, the object 402 also movesupward on the display screen. Since the distance from the input point ofthe object 402 is longer than that of the object 401, the displacementdistance of the object 402 is shorter than that of the object 401.

Since the object 403 is positioned in a middle of the two input points,i.e., between the input point of the upper side and the input point ofthe lower side, the upward vector and the downward vector, i.e., twoinformation inputs, are balanced. As a result, the object 403 would notmove.

The object 404 and the object 405 move downward on the display screen. Adisplacement distance of the object 405 is longer than that of theobject 404.

The existence of an overlapped portion between selected objects on thedisplay screen is detected. Based on the detection result, the objectsin selection are subjected to the enlargement processing.

Even when the user input similar to that described above is continued,the processing may be changed to an object display rate enlargementprocessing when the objects has become not overlapped state with eachother any more.

As illustrated in FIG. 4D, the user continues to spread the firstobjects 401 through 405 in the up-and-down direction and, at the sametime, designates, for example, one of the first objects (e.g., firstobject 403) among the first objects 401 through 405 in selection.

As illustrated in FIG. 4E, when the user moves a designated positionobliquely downward, only the designated first object 403 moves obliquelydownward and the other first objects 401, 402, 404, and 405 are spreadin the up-and-down direction based on the processing of the abovedescribed up-and-down spreading processing.

According to the configuration and processing of the present exemplaryembodiment, as is illustrated in FIG. 4, the user can move only thedesignated first object 403 obliquely downward and, at the same time,perform a processing with respect to the other first objects 401, 402,404, and 405 (i.e., processing of spreading the other first objects inthe up-and-down direction as is exemplified in FIG. 4).

In other words, according to the present exemplary embodiment, the usercan perform the processing of moving all the plurality of objects 401,402, 404, and 405 simultaneously with the processing of independentlymoving the arbitrary object 403 among the plurality of selected objects401 through 405.

In the present exemplary embodiment, when the designated arbitraryobject among the plurality of selected objects 401 through 405 isindependently displaced, the processing is performed on the selectedgroup excluding the object to be processed independently (for example,the first object 403 of FIG. 4) from the selected group. FIG. 6 is aflow chart illustrating an example of the object displacementprocessing. Explanation will be omitted by providing similar numericalnumbers to the processing similar to the above described processing ofFIG. 5.

In step S310, the process determination unit 107 excludes the firstobject designated by the user (for example, the first object 403) amongthe first objects 401 through 405 from the batch processing.

A timing at which the process determination unit 107 excludes the firstobject designated by the user is a time at which the object, which issubjected to the processing independently, is positioned outside thebatch processing input object. With the above described control, theuser can recognize the timing at which the designated object is excludedfrom the batch processing with ease.

A new object may be selected to add to the batch processing target. Thenewly selected object can be subjected to the batch processing by movingthe newly selected object inside the batch processing input object.

The adding timing may be a timing at which the newly selected object hasbeen moved in the batch processing input object. With the abovedescribed control, the user can recognize the timing at which the objecthas been added to the batch processing target with ease.

When the newly selected object is added to the batch processing target,a display condition of the newly selected object is matched with that ofthe batch processing target. The display condition includes anenlargement rate, a display rotation angle, a distance between displayedpositions, or the like.

In other words, if the batch processing target is displayed with amagnification ratio of 200%, the object to be newly added is to bedisplayed with the magnification of 200%. With the above describedcontrol, it is not necessary for the user to adjust the displaycondition of the newly added object, so that the user's workingefficiency can be improved.

When the processing of step S310 is executed, the object (for example,the first object 403) is subjected to the independent processing. As aresult, the object is excluded from the selected group, and the objectis not a target of the processing for the entire selected group afterthe independent processing is executed. After the execution of theindependent processing, the object having been subjected to theindependent processing may be returned to the batch processing targetagain.

According to the present exemplary embodiment, the processing in whichan arbitrary object, which is excluded from the selected group, isindependently moved can be executed, without the processing of cancelingthe selection of the entire group of objects. Accordingly, the operationof the user can be simplified.

In the present exemplary embodiment, a case where there are theplurality of second objects (batch processing input objects) 400 isexemplified.

The object generation unit 104 associates the plurality of objectsselected by the object selection unit 103 (first objects 401 through405) with the batch processing input object (second object 400) relatingto the batch-processing for the plurality of objects. The objectgeneration unit 104 holds (stores in the RAM 13, the external storagedevice 16, or the like) association information relating to the abovedescribed association.

FIG. 7 is a flow chart illustrating an example of the object selectionprocessing. Processing similar to that of FIG. 3 is denoted by the samereference numbers and descriptions thereof are omitted.

In step S209, the object generation unit 104 associates the batchprocessing input object with the plurality of objects relating to thebatch processing input object when or after the object generation unit104 generates the batch processing input object. The object generationunit 104 holds association information relating to the aboveassociation.

In other words, the object generation unit 104 holds associationinformation indicating that the plurality of the first objects 401through 405 in selection are members of the group and the second object400 is a symbol of the group. According to the present exemplaryembodiment, a plurality of selected groups can be handled.

Aspects of the present invention can also be realized by a computer of asystem or apparatus (or devices such as a CPU or MPU) that reads out andexecutes a program recorded on a memory device to perform the functionsof the above-described embodiment(s), and by a method, the steps ofwhich are performed by a computer of a system or apparatus by, forexample, reading out and executing a program recorded on a memory deviceto perform the functions of the above-described embodiment(s). For thispurpose, the program is provided to the computer for example via anetwork or from a recording medium of various types serving as thememory device (e.g., computer-readable medium). In such a case, thesystem or apparatus, and the recording medium where the program isstored, are included as being within the scope of the present invention.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all modifications, equivalent structures, and functions.

This application claims priority from Japanese Patent Application No.2008-271382 filed Oct. 21, 2008, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. An information processing apparatus comprising: aprocessor; a display control unit configured to display, on a displayscreen, a batch processing input object having a boundary size andincluding a plurality of objects located at a position; a detection unitconfigured to detect an input point on the display screen; a batchprocessing execution unit configured to, in a case where the detectionunit detects the input point on the batch processing input object at aposition other than the position where the plurality of objects islocated, move the plurality of objects included in the batch processinginput object in accordance with movement of the input point; aprocessing execution unit configured to, in a case where the detectionunit detects the input point on an object of the plurality of objectsincluded in the batch processing input object, move the objectindependently from the rest of the plurality of objects in accordancewith movement of the input point; and a determination unit configuredto, when the object is moved independently from the rest of theplurality of objects, determine that the object is moved to outside ofthe batch processing input object, wherein, in a case where thedetermination unit determines that the object is moved to outside of thebatch processing input object, the object is excluded from being atarget of batch processing until at least after its independentprocessing, at which time the object is again eligible for batchprocessing.
 2. The information processing apparatus according to claim1, wherein in a case where an object is introduced into the batchprocessing input object, the batch processing execution unit adds theintroduced object to the plurality of objects included in the batchprocessing input object as a target of the batch processing.
 3. Theinformation processing apparatus according to claim 2, furthercomprising: an object display condition storage unit configured to storea display condition of the plurality of objects included in the batchprocessing input object, wherein the processing execution unit controlsthe object introduced into the batch processing input object to bedisplayed in the display status stored in the object display statusstorage unit.
 4. The information processing apparatus according to claim1, wherein the display control unit associates each of the plurality ofobjects with the batch processing input object relating to the batchprocessing performed on the plurality of objects, and holds associationinformation relating the association, and wherein the batch processingexecution unit specifies a plurality of objects which becomes a targetof batch processing, based on the association information.
 5. A methodof processing objects, the method comprising: displaying, on a displayscreen, a batch processing input object having a boundary size andincluding a plurality of objects located at a position; detecting aninput point on the display screen; moving, in a case where the inputpoint is detected on the batch processing input object at a positionother than the position where the plurality of objects is located, theplurality of objects included in the batch processing input object inaccordance with movement of the input point; moving, in a case where theinput point is detected on an object of the plurality of objectsincluded in the batch processing input object, the object independentlyfrom the rest of the plurality of objects in accordance with movement ofthe input point; and determining, when the object is moved independentlyfrom the rest of the plurality of objects, that the object is moved tooutside of the batch processing input object, wherein, in a case whereit is determined that the object is moved out of the batch processinginput object boundary, the object is excluded from being a target ofbatch processing until after its independent processing when the objectis again available for batch processing.
 6. A computer-readablenon-transitory storage medium storing a program that when executed,causes a computer to: display, on a display screen, a batch processinginput object having a boundary size and including a plurality of objectslocated at a position; detect an input point on the display screen;move, in a case where the input point is detected on the batchprocessing input object at a position other than the position where theplurality of objects is located, the plurality of objects included inthe batch processing input object in accordance with movement of theinput point; move, in a case where the input point is detected on anobject of the plurality of objects included in the batch processinginput object, the object independently from the rest of the plurality ofobjects in accordance with movement of the input point; and determine,when the object is moved independently from the rest of the plurality ofobjects, that the object is moved to outside of the batch processinginput object, wherein, in a case where it is determined that the objectis moved out of the batch processing input object boundary, the objectis excluded from being a target of batch processing until at least afterits independent processing when the object may be returned to the batchprocessing input object.
 7. An information processing apparatuscomprising: a display screen; a display control unit configured todisplay, on the display screen, a batch processing input object having aboundary size and including a plurality of objects located at aposition; a detection unit configured to detect an input point on thedisplay screen; a batch processing execution unit configured to, in acase where the detection unit detects the input point on the batchprocessing input object at a position other than the position where theplurality of objects is located, move the plurality of objects includedin the batch processing input object in accordance with movement of theinput point; a processing execution unit configured to, in a case wherethe detection unit detects the input point on an object of the pluralityof objects included in the batch processing input object, move theobject independently from the rest of the plurality of objects inaccordance with movement of the input point; and a determination unitconfigured to, when the object is moved independently from the rest ofthe plurality of objects, determine that the object is moved to outsideof the batch processing input object, wherein, in a case where thedetermination unit determines that the object is moved to outside of thebatch processing input object, the object is excluded from being atarget of batch processing until at least after its independentprocessing, at which time the object is again eligible for batchprocessing.